home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
util
/
pack
/
xpk_Develop.lha
/
xpk_Develop
/
Include
/
ASM
/
xpk
/
xpkprefs.i
< prev
next >
Wrap
Text File
|
1998-11-09
|
4KB
|
131 lines
IFND XPK_XPKPREFS_I
XPK_XPKPREFS_I SET 1
**
** $VER: xpk/xpkprefs.i 4.14 (03.06.1998) by SDI
**
** (C) Copyright 1997-1998 by Dirk Stöcker
** All Rights Reserved
**
IFND EXEC_SEMAPHORES_I
INCLUDE "exec/semaphores.i"
ENDC
IFND LIBRARIES_IFFPARSE_I
INCLUDE "libraries/iffparse.i"
ENDC
ID_XPKT EQU 'XPKT'
ID_XPKM EQU 'XPKM'
*****************************************************************************
*
*
* XpkTypeData structure
*
*
XTD_NoPack EQU $0001 ; filetype should not be crunched
XTD_ReturnError EQU $0002 ; return error XPKERR_NOMETHOD
* These two cannot be set same time!
STRUCTURE XpkTypeData,0
ULONG xtd_Flags ; see above XTD flags
ULONG xtd_StdID ; holding the ID --> 'NUKE'
ULONG xtd_ChunkSize ; maybe useless with external crunchers
UWORD xtd_Mode ; PackMode
UWORD xtd_Version ; structure version --> 0 at the moment
APTR xtd_Password ; not used at the moment
APTR xtd_Memory ; memory pointer - when should be freed by
ULONG xtd_MemorySize ; memory size - receiver (xpkmaster)
LABEL XpkTypeData_SIZEOF
******************************************************************************
*
*
* XpkTypePrefs structure
*
*
XPKT_NamePattern EQU $0001 ; File Pattern is given
XPKT_FilePattern EQU $0002 ; Name Pattern is given
* These can both be set (in loading this means File AND Name Pattern have
* to match), but one is needed
STRUCTURE XpkTypePrefs,0
ULONG xtp_Flags ; See above XPKT Flags
APTR xtp_TypeName ; Name of this file type (for prefs program)
APTR xtp_NamePattern ; Pointer to NamePattern
APTR xtp_FilePattern ; Pointer to FilePattern
ULONG xtp_PackerData ; Pointer to PackerData
LABEL XpkTypePrefs_SIZEOF
*****************************************************************************
*
*
* XpkMainPrefs structure
*
*
XPKM_UseXFD EQU $0001 ; Use xfdmaster.library for unpacking
XPKM_UseExternals EQU $0002 ; Use xex libraries
XPKM_AutoPassword EQU $0004 ; Use the automatic password requester
STRUCTURE XpkMainPrefs,0
ULONG xmp_Version ; version of structure ==> 0
ULONG xmp_Flags ; above defined XPKM flags
APTR xmp_DefaultType ; sets the mode used as default (struct XpkTypeData *)
UWORD xmp_Timeout ; Timeout for password requester
; given in seconds, zero means no timeout
LABEL XpkMainPrefs_SIZEOF
* The library internal defaults are:
* XPKM_UseXFD FALSE
* XPKM_AutoPassword FALSE
* XPKM_UseExternals TRUE
* XTD_ReturnError defined as default
* xmp_TimeOut set to 120 (two minutes)
*
* These defaults are used, when no preferences file is given.
*****************************************************************************
*
*
* XpkMasterPrefs Semaphore structure
*
* find with FindSemaphore(XPKPREFSSEMNAME);
*
* obtain with ObtainSemaphoreShared(),
* programs WRITING into the structure fields must know:
* - only write to them, when you created the semaphore
* - use ObtainSemaphore() instead of ObtainSemaphoreShared()
*
XPKPREFSSEMNAME MACRO
DC.B '« XpkMasterPrefs »',0
ENDM
* Defines used for xps_PrefsType. These help to find out, which preferences
* type is used.
XPREFSTYPE_STANDARD EQU $58504B4D ; 'XPKM'
XPREFSTYPE_CYB EQU $20435942 ; ' CYB'
STRUCTURE XpkPrefsSemaphore,0
STRUCT xps_Semaphore,SS_SIZE
ULONG xps_Version ; at the moment 0
ULONG xps_PrefsType ; preferences type
APTR xps_PrefsData ; preferences data
APTR xps_MainPrefs ; defined defaults (struct XpkMainPrefs *)
ULONG xps_RecogSize ; needed size of Recogbuffer
APTR xps_RecogFunc ; Recog function
APTR xps_ProgressHook; hook function
APTR xps_MasterTask ; Creater's task
LABEL XpkPrefsSemaphore_SIZEOF
* Use Signal(sem->xps_MasterTask, SIGBREAKF_CTRL_C); to get the installer
* program to remove the semaphore.
ENDC